package com.tom.architect.party3.day26.okhttp.interceptor;

import android.util.Log;
import com.tom.architect.party3.day26.okhttp.Request;
import com.tom.architect.party3.day26.okhttp.RequestBody;
import com.tom.architect.party3.day26.okhttp.Response;
import java.io.IOException;

// 最基本的设置。
public class BridgeInterceptor implements Interceptor {

    @Override
    public Response intercept(Chain chain) throws IOException {
        Log.e("TAG", "BridgeInterceptor");
        // 1.通过链表，拿到传下来的request。
        Request request = chain.request(); // 处理request

        // 2.添加一些请求头
        request.header("Connection", "keep-alive"); // 保持存活
        // 3.做一些其他处理
        if (request.requestBody() != null) {
            RequestBody requestBody = request.requestBody();
            request.header("Content-Type", requestBody.getContentType());
            request.header("Content-Length", Long.toString(requestBody.getContentLength()));
        }

        // 4.放到下一层去，下一层给我返回一个Response。
        Response response = chain.proceed(request); // 发给下一个。并返回结果给前一个。
        Log.e("TAG","BridgeInterceptor proceed");
        return response;
    }
}
